Multicasting is a network information delivery method by which information from one or many sources is sent to multiple destinations. The transmitting host only generates a single stream of IP (Internet Protocol) packets. The network routers replicate the packets and deliver the packets to the proper receivers. The links leading to subnets consisting of entirely uninterested receivers do not carry any multicast traffic. Thus, multicast minimizes the burden placed on the sender, the network, and the receiver.
To avoid multicast routing loops, which can be disastrous because of the risk of repeatedly replicated packets, every multicast router must always verify that a multicast packet has arrived on an expected incoming interface before it forwards the packet to the appropriate outgoing interfaces. If the multicast packet did not arrive on the expected incoming interface, the packet will be discarded.
The process of verifying whether a multicast packet has arrived on the expected incoming interface is usually referred to as a Reverse Path Forwarding (RPF) check. Routers typically maintain the information necessary for RPF checks, such as the expected incoming interface for each multicast flow, in multicast forwarding information tables.
Several RPF check mechanisms have been proposed. However, those proposed mechanisms do not handle route changes well because they typically require updating many entries of a router's multicast forwarding information tables whenever a route change occurs. Updating many forwarding table entries within a router is resource intensive and time consuming. Delivery of multicast packets may be stalled or significantly delayed as a result.
According, there exists a need for a method and mechanism for efficiently performing RPF checks. What is also needed is a network node that can perform RPF checks quickly in response to a network topology change.